package com.anti.modular.owner.ownerleasefees.service;

import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.owner.ownerlease.param.OwerGdfy;
import com.anti.modular.owner.ownerleasefees.entity.OwnerLeaseFees;
import com.anti.modular.owner.ownerleasefees.param.OwnerLeaseFeesParam;

import java.util.List;

/**
 * 固定費用service接口
 *
 * @author anti
 * @date 2021-05-20 14:28:05
 */
public interface OwnerLeaseFeesService{

    /**
    * 根据主键查询实体
    */
    OwnerLeaseFees getById(OwnerLeaseFeesParam ownerLeaseFeesParam);

    /**
     * 查询固定費用
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
    PageResult page(PageParam pageParam,OwnerLeaseFeesParam ownerLeaseFeesParam);

    /**
     * 固定費用列表
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
    List<OwnerLeaseFees> list(OwnerLeaseFeesParam ownerLeaseFeesParam);

    List<OwnerLeaseFees> getGdfyByLeaseId(Long leaseId);

    List<OwerGdfy> getOwerGdfyByLeaseId(Long leaseId);

    /**
     * 添加固定費用
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
    void add(OwnerLeaseFeesParam ownerLeaseFeesParam);

    List<OwnerLeaseFees> addGdfyAndReturn(List<OwerGdfy> gdfy, Long pKey);

    /**
     * 删除固定費用
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
    void delete(OwnerLeaseFeesParam ownerLeaseFeesParam);

    void deleteByLeaseId(Long leaseId);

    /**
     * 编辑固定費用
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
    void edit(OwnerLeaseFeesParam ownerLeaseFeesParam);

    /**
     * 查看固定費用
     *
     * @author anti
     * @date 2021-05-20 14:28:05
     */
     OwnerLeaseFees detail(OwnerLeaseFeesParam ownerLeaseFeesParam);

}
